A mobile device is a device that has plurality of running processes that are used to interact with a user and perform numerous services on that mobile device. For example, a mobile device may have one user application process running in the foreground, where the user can interact with this process. Other running processes are daemon processes that provide services to the user application process or other running processes. These other processes consume hardware resources of the mobile device, such as central process units (CPUs), memory, input/output, etc. These consumed resources can compete for the resources needed for the user application work and can result in user interface glitches, the device feeling sluggish, slow to respond to touches, and/or the device locking up as there is too little resources being applied to the user application process.
One way to alleviate this problem is to have the daemon and/or other background processes executing at a lower importance than the user application process. By having these other processes executing at a lower importance that the user application process, the user application process can consume more of the mobile device resources and the mobile device will appear to the user as having more responsiveness. A problem with this scenario is that when the user application process makes a request to one of these daemons or other background processes for a service or information, these daemon or background process will service the request at the lower importance. This can cause the user application process to wait to have the service request fulfilled.